package com.chainyoung.component_tmtrade.di.module;


import com.chainyoung.common.di.scope.FragmentScope;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeFiatCurrencyBuyContract;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeFiatCurrencyOrderContract;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeFiatCurrencyMainCurrencyContract;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeFiatCurrencyBuyModel;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeFiatCurrencyMainModel;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeFiatCurrencyOrderModel;

import dagger.Module;
import dagger.Provides;

@Module
public class TradeFiatCurrencyModule {

    private TradeFiatCurrencyBuyContract.View view;

    private TradeFiatCurrencyOrderContract.View orderView;

    private TradeFiatCurrencyMainCurrencyContract.View fiatCurrencyMainView;


    public TradeFiatCurrencyModule(TradeFiatCurrencyBuyContract.View view) {
        this.view = view;
    }

    public TradeFiatCurrencyModule(TradeFiatCurrencyOrderContract.View view) {
        this.orderView = view;
    }

    public TradeFiatCurrencyModule(TradeFiatCurrencyMainCurrencyContract.View view) {
        this.fiatCurrencyMainView = view;
    }

    @FragmentScope
    @Provides
    TradeFiatCurrencyBuyContract.View providerTradeFiatCurrenctView() {
        return this.view;
    }

    @FragmentScope
    @Provides
    TradeFiatCurrencyBuyContract.Model providerTradeFiatCurrencyModel(TradeFiatCurrencyBuyModel model) {
        return model;
    }


    @FragmentScope
    @Provides
    TradeFiatCurrencyOrderContract.View providerTradeFiatCurrenctOrderView() {
        return this.orderView;
    }

    @FragmentScope
    @Provides
    TradeFiatCurrencyOrderContract.Model providerTradeFiatCurrencyOrderModel(TradeFiatCurrencyOrderModel model) {
        return model;
    }


    @FragmentScope
    @Provides
    TradeFiatCurrencyMainCurrencyContract.View providerTradeFiatCurrenctMainView() {
        return this.fiatCurrencyMainView;
    }

    @FragmentScope
    @Provides
    TradeFiatCurrencyMainCurrencyContract.Model providerTradeFiatCurrencyMainModel(TradeFiatCurrencyMainModel model) {
        return model;
    }

}
